A Parallel Complexity Model for Functional Languages
نویسندگان
چکیده
A complexity model based on the λ-calculus with an appropriate operational semantics in presented and related to various parallel machine models, including the PRAM and hypercube models. The model is used to study parallel algorithms in the context of “sequential” functional languages, and to relate these results to algorithms designed directly for parallel machine models. For example, the paper shows that equally good upper bounds can be achieved for merging two sorted sequences in the pure λ-calculus with some arithmetic constants as in the EREW PRAM, when they are both mapped onto a more realistic machine such as a hypercube or butterfly network. In particular for n keys and p processors, they both result in an O(n/p + log p) time algorithm. These results argue that it is possible to get good parallelism in functional languages without adding explicitly parallel constructs. In fact, the lack of random access seems to be a bigger problem than the lack of parallelism.
منابع مشابه
Parallel Generation of t-ary Trees
A parallel algorithm for generating t-ary tree sequences in reverse B-order is presented. The algorithm generates t-ary trees by 0-1 sequences, and each 0-1 sequences is generated in constant average time O(1). The algorithm is executed on a CREW SM SIMD model, and is adaptive and cost-optimal. Prior to the discussion of the parallel algorithm a new sequential generation with O(1) average time ...
متن کاملAn Overview of the Parallel Language Id ( a foundation for pH , a parallel dialect of Haskell )
Id is an architecture-independent, general-purpose parallel programming language that has evolved and been in use for a number of years. Id does not have a sequential core; rather, it is implicitly parallel, with the programmer introducing sequencing explicitly only if necessary. Id is a mostly-functional language, in the family of non-strict functional languages with a Hindley-Milner static ty...
متن کاملThe Relationship between Syntactic and Lexical Complexity in Speech Monologues of EFL Learners
: This study aims to explore the relationship between syntactic and lexical complexity and also the relationship between different aspects of lexical complexity. To this end, speech monologs of 35 Iranian high-intermediate learners of English on three different tasks (i.e. argumentation, description, and narration) were analyzed for correlations between one measure of sy...
متن کاملExplicit and implicit parallel functional programming: concepts and implementation
This thesis investigates the relation between the two conflicting goals of explicitness and abstraction, for the implementation of parallel functional languages and skeletons. Necessary and useful coordination features for implementing parallel coordination in a functional implementation language will be identified, leading to the proposal of a Haskell extension for explicit low-level coordinat...
متن کاملSemantics of Barriers in a Non - Strict ,
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper, we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994